package hotciv.factories;

import hotciv.agingstrategies.LinearAgingStrategy;
import hotciv.battlestrategies.AttackingUnitWinsBattleStrategy;
import hotciv.framework.AgingStrategy;
import hotciv.framework.BattleStrategy;
import hotciv.framework.HotCivFactory;
import hotciv.framework.UnitStrategy;
import hotciv.framework.WinningStrategy;
import hotciv.unitstrategies.LazyUnitStrategy;
import hotciv.winningstrategies.AlternatingWinningStrategy;
import hotciv.winningstrategies.CityConquerWinningStrategy;
import hotciv.winningstrategies.ThreeWinsWinningStrategy;

public class ZetaCivFactory implements HotCivFactory{

	@Override
	public AgingStrategy createAgingStrategy() {
		return new LinearAgingStrategy();
	}

	@Override
	public BattleStrategy createBattleStrategy() {
		return new AttackingUnitWinsBattleStrategy();
	}

	@Override
	public UnitStrategy createUnitStrategy() {
		return new LazyUnitStrategy();
	}

	@Override
	public WinningStrategy createWinnningStrategy() {
		return new AlternatingWinningStrategy(new CityConquerWinningStrategy(), new ThreeWinsWinningStrategy());
	}
	
}
